Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.

...powered by www.netzwerkartist.de...

 << zurück
Visual C# 2005 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual C# 2005

Visual C# 2005
1.320 S., mit 2 CDs, 59,90 Euro
Galileo Computing
ISBN 3-89842-586-X
gp Kapitel 19 Weitere Steuerelemente
  gp 19.1 Bildlaufleisten mit »HScrollBar« und »VScrollBar«
  gp 19.2 Schieberegler mit der Klasse »TrackBar«
  gp 19.3 Das »ProgressBar«-Steuerelement
  gp 19.4 Drehfeld-Steuerelemente (»UpDown«-Steuerelemente)
    gp 19.4.1 Das »NumericUpDown«-Steuerelement
    gp 19.4.2 Das »DomainUpDown«-Steuerelement
  gp 19.5 Das »Timer«-Steuerelement
  gp 19.6 Die Klasse »ErrorProvider«
  gp 19.7 Steuerelemente für die Datums- und Zeitangabe
    gp 19.7.1 Das Steuerelement »MonthCalendar«
    gp 19.7.2 Das Steuerelement »DateTimePicker«
  gp 19.8 Das »Panel«-Steuerelement
  gp 19.9 Das Steuerelement »NotifyIcon«
  gp 19.10 Bildanzeige mit »PictureBox«
  gp 19.11 Eine Liste mit Symbolen mit »ImageList« bereitstellen
    gp 19.11.1 Die Eigenschaften der Klasse »ImageList«
    gp 19.11.2 Die Bildliste füllen
  gp 19.12 Registerkarten mit »TabControl«
    gp 19.12.1 Die Klasse »TabControl«
    gp 19.12.2 Objekte vom Typ »TabPage«
  gp 19.13 Das »TreeView«-Steuerelement
    gp 19.13.1 Knotenpunkte im »TreeView« definieren
    gp 19.13.2 Eigenschaften des »TreeView«-Steuerelements
    gp 19.13.3 Die Unterstützung der Entwicklungsumgebung
    gp 19.13.4 Die Ereignisse des »TreeView«-Steuerelements
    gp 19.13.5 Weitere Eigenschaften und Methoden des »TreeView«-Objekts
    gp 19.13.6 Eigenschaften und Methoden des »TreeNode«-Objekts
    gp 19.13.7 Beispiel zum Einlesen der Verzeichnisstruktur
  gp 19.14 Die beiden »Splitter«-Steuerelemente
    gp 19.14.1 Das Steuerelement »Splitter«
    gp 19.14.2 Das Steuerelement »SplitContainer«
  gp 19.15 Das »ListView«-Steuerelement
    gp 19.15.1 Die Klassen des »ListView«-Steuerelements
    gp 19.15.2 Die Eigenschaften der »ListView«
    gp 19.15.3 Listenelemente vom Typ »ListViewItem«
    gp 19.15.4 Das Element »ListViewSubItem«
    gp 19.15.5 Der Typ »ColumnHeader«
    gp 19.15.6 Listenelemente Gruppen zuordnen
    gp 19.15.7 Sortierung der Spalten
    gp 19.15.8 Listenelemente ändern
    gp 19.15.9 Beispielanwendung
  gp 19.16 BackGroundWorker

Kapitel 19 Weitere Steuerelemente

Einige Windows-Komponenten, die in der Lage sind, automatisch Bildlaufleisten am Rand ihres Clientbereichs bereitzustellen, habe ich Ihnen in den vergangenen Kapiteln bereits vorgestellt. Die Klasse TextBox gehört ebenso wie die Klasse Form dazu.


Galileo Computing

19.1 Bildlaufleisten mit »HScrollBar« und »VScrollBar«  toptop

Mit den beiden Klassen HScrollBar und VScrollBar stellt Ihnen das .NET Framework zwei Klassen zur Verfügung, um in einem bestimmten Bereich stufenlos oder in vordefinierten Sprüngen Werte einzustellen, die von anderen Komponenten ausgewertet werden können. Beide Klassen lassen sich auf die gemeinsame Basisklasse ScollBar zurückführen, die ihrerseits ein direkter Abkömmling von Control ist.

HScrollBar stellt eine horizontale Bildlaufleiste bereit, VScrollBar eine vertikale. Das sind aber auch schon die einzigen Unterscheidungsmerkmale, denn in allen anderen Fähigkeiten gibt es keine Unterschiede.

Die Eigenschaften

Nur insgesamt fünf Eigenschaften müssen wir kennen, um die Fähigkeiten der Bildlaufleisten nutzen zu können. Mit einem Schieberegler, der auch als Bildlauffeld bezeichnet wird, kann man eine Wertskala zwischen einem definierten Minimum und einem Maximum durchlaufen. Die aktuelle Position des Bildlauffeldes zwischen den beiden Pfeiltasten wird durch die Eigenschaft Value beschrieben. Klickt der Benutzer auf eine der beiden Pfeiltasten, ändert sich Value um einen Wert, der in SmallChange festgelegt ist, bei einem Klick in den Bereich zwischen dem Bildlauffeld und einer Pfeiltaste um LargeChange.

Wenn Sie den Wert für Maximum festlegen, wird dieser von Value zur Laufzeit nicht erreicht, sondern ist von der Eigenschaft LargeChange abhängig. Tatsächlich reicht der Wertebereich nur von Minimum bis


Maximum – LargeChange + 1

Es stellt sich nun die Frage, warum der Maximalwert von Value eine anderer ist, als in Maximum eingestellt wird. Stellen Sie sich dazu ein Dokument vor, das 1000 Zeilen Text enthält, die von 0 bis 999 indiziert sind. Nehmen wir an, dass auf einer Seite 25 Zeilen angezeigt werden können. Um mit einem Mausklick von Seite zu Seite zu navigieren, legen Sie den Wert LargeChange=25 fest.

Wird die erste Seite angezeigt, handelt es sich um die Zeilen 0 bis 24. Dafür steht Value=0. Wird um LargeChange gescrollt, werden die Zeilen 25 bis 49 angezeigt. In diesem Moment hat Value den Wert 25. Die letzten 25 Zeilen des Dokuments (975 bis 999) werden angezeigt, wenn Value=975 aufweist. Der Maximalwert wird also überhaupt nicht benötigt, um durch das gesamte Dokument navigieren zu können.


Tabelle 19.1   Eigenschaften der Klasse »ScrollBar«

Eigenschaft Beschreibung
Value Legt die aktuelle Position des Bildlauffeldes fest.
Minimum Enthält den Minimalwert.
Maximum Enthält den Maximalwert.
SmallChange Ruft den Wert ab, der zur Value-Eigenschaft addiert oder von dieser subtrahiert werden soll, wenn das Bildlauffeld um einen kleinen Abstand verschoben wird.
LargeChange Ruft einen Wert ab, der zur Value-Eigenschaft addiert oder von dieser subtrahiert werden soll, wenn das Bildlauffeld um einen größeren Abstand verschoben wird.

Die Ereignisse

Von der Basisklasse ScrollBar erben die beiden abgeleiteten Klassen zwei wichtige Ereignisse: ValueChanged und Scroll. In den meisten Fällen werden Sie das Ereignis ValueChanged behandeln, das immer dann auftritt, wenn sich die Eigenschaft Value der Bildlaufleiste geändert hat:


public event EventHandler ValueChanged;

Am Typ EventHandler können Sie erkennen, dass das Ereignis keine Informationen an den Ereignishandler weiterleitet.

Etwas anders verhält sich das Ereignis Scroll. Es tritt nur dann auf, wenn das Bildlauffeld mit der Tastatur oder der Maus verschoben wird. Wird mit Programmcode ein neuer Wert eingestellt, wird Scroll nicht ausgelöst.


public event ScrollEventHandler Scroll;

Das Objekt ScrollEventArgs liefert in seiner Eigenschaft NewValue den neu eingestellten Wert der Bildlaufleiste, über OldValue den alten. Über die Eigenschaft Type erhalten Sie auch weitergehende Informationen, beispielsweise die Ursache der Wertänderung oder ob sich das Bildlauffeld in seiner maximalen oder minimalen Position befindet.

Wird das Bildlauffeld mit der Tastatur oder der Maus verschoben, kommt es zu der Ereigniskette Scroll/ValueChanged/Scroll. Dabei zeigt sich, dass Value bei der ersten Auslösung von Scoll noch den alten Wert hat, bei der zweiten Auslösung den neuen.

Ein Beispielprogramm

Im folgenden Beispiel dient eine Instanz des Steuerelements PictureBox dazu, eine Fläche mit einer Hintergrundfarbe darzustellen, deren Rot-, Grün- und Blauanteil mittels Bildlaufleisten stufenlos eingestellt werden kann. Die Eigenschaft Minimum der Bildlaufleisten steht auf 0, SmallChange auf 1 und LargeChange auf 15. Da Value den Wert 255 erreichen muss, berechnet sich Maximum zu:


255 + LargeChange – 1 = 269

Die Werte der drei Bildlaufleisten werden der statischen Methode FromArgb der Klasse Color übergeben, um daraus den passenden Farbwert zu generieren.

Abbildung
Hier klicken, um das Bild zu vergrößern

Abbildung 19.1   Formular des Beispiels »ScrollBarDemo«


// ---------------------------------------------------------
// Beispiel: ...\Kapitel 19\ScrollBarDemo
// ---------------------------------------------------------
public partial class Form1 : Form {
  private void SetColor(object sender, EventArgs e) {
    pictureBox1.BackColor = Color.FromArgb(ScrollRed.Value,
                                           ScrollGreen.Value,
                                           ScrollBlue.Value);
    label1.Text = Convert.ToString(ScrollRed.Value);
    label2.Text = Convert.ToString(ScrollGreen.Value);
    label3.Text = Convert.ToString(ScrollBlue.Value);
  }
}

 << zurück
  
  Zum Katalog
Zum Katalog: Visual C# 2005
Visual C# 2005
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Fortgeschrittene Programmierung mit Visual C# 2005






 Fortgeschrittene
 Programmierung
 mit Visual C# 2005


Zum Katalog: Einstieg in Visual C# 2005






 Einstieg in
 Visual C# 2005


Zum Katalog: Einstieg in Visual Basic 2005






 Einstieg in
 Visual Basic 2005


Zum Katalog: Visual Basic 2005






 Visual Basic 2005


Zum Katalog: Java ist auch eine Insel






 Java ist auch eine
 Insel


Zum Katalog: Konzepte und Lösungen für Microsoft-Netzwerke






 Konzepte und
 Lösungen für
 Microsoft-Netzwerke


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo








Copyright © Galileo Press 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de